package com.girant.logger.entity.vo.show;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.girant.mybatis.entity.RequestPage;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;


//业务日志查询（出参）
@Data
public class LogShowVO extends RequestPage{
    @Schema(description = "操作用户ID")
    private String operationUser;

    //操作用户账号
    @Schema(description = "操作用户账号")
    private String operationUsername;

    //操作用户昵称
    @Schema(description = "操作用户昵称")
    private String operationNickname;

    //访问来源IP
    @Schema(description = "请求源IP地址")
    private String sourceIp;

    // 操作时间（带格式化）
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS") // 匹配字段的时间格式
    @Schema(description = "操作时间")
    private String operationTime;

    // 客户端类型标签（中文描述）
    @Schema(description = "客户端类型中文描述")
    private String clientTypeLabel;

    //客户端浏览器
    @Schema(description = "客户端浏览器信息")
    private String clientBrowser;

    //客户端版本
    @Schema(description = "客户端版本号")
    private String clientVersion;

    //业务分类标签（中文描述）
    @Schema(description = "业务分类中文描述")
    private String categoryLabel;

    //操作标题
    @Schema(description = "操作标题")
    private String title;

    //操作内容详情
    @Schema(description = "操作内容详情")
    private String content;

    //日志级别
    @Schema(description = "日志级别（枚举值，取值：ERROR WARN INFO  DEBUG TRACE")
    private String logLevel;

    @Schema(description = "服务名称代码标签值 字典：sysLogServerName")
    private String serverName;

    //服务名称代码(字典字典：sysLogServerName)
    @Schema(description = "服务名称代码")
    private String serverNameLabel;

    //分布式追踪ID
    @Schema(description = "分布式追踪ID")
    private String traceId;

    //分布式跨度ID
    @Schema(description = "分布式跨度ID")
    private String spanId;

    // 异常堆栈信息（仅错误日志有值）
    @Schema(description = "异常堆栈信息，仅错误日志有值")
    private String stackTrace;

    @Schema(description = "请求参数")
    private String requestParams;

}
